apiVersion: kubeadm.k8s.io/v1beta3
kind: JoinConfiguration
discovery:
  bootstrapToken:
{% if kubeadm_config_api_fqdn is defined %}
    apiServerEndpoint: {{ kubeadm_config_api_fqdn }}:{{ loadbalancer_apiserver.port | default(kube_apiserver_port) }}
{% else %}
    apiServerEndpoint: {{ kubeadm_discovery_address }}
{% endif %}
    token: {{ kubeadm_token }}
    unsafeSkipCAVerification: true
  timeout: {{ discovery_timeout }}
  tlsBootstrapToken: {{ kubeadm_token }}
controlPlane:
  localAPIEndpoint:
    advertiseAddress: {{ kube_apiserver_address }}
    bindPort: {{ kube_apiserver_port }}
  certificateKey: {{ kubeadm_certificate_key }}
nodeRegistration:
  name: {{ kube_override_hostname | default(inventory_hostname) }}
  criSocket: {{ cri_socket }}
{% if inventory_hostname in groups['kube_control_plane'] and inventory_hostname not in groups['kube_node'] %}
  taints:
  - effect: NoSchedule
    key: node-role.kubernetes.io/control-plane
{% else %}
  taints: []
{% endif %}
{% if kubeadm_patches is defined and kubeadm_patches.enabled %}
patches:
  directory: {{ kubeadm_patches.dest_dir }}
{% endif %}
